package com.cyl.manager.oms.domain.form;

import com.alibaba.excel.annotation.ExcelProperty;
import com.cyl.config.JavaLongToStringConvert;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ApiModel("后台订单查询请求体")
public class ManagerOrderQueryForm {
	
	

	private Integer dpstatus;
	
	
    @ApiModelProperty(name = "memberId", value = "客户id", required = true, dataType = "Long")
    private Long memberId;
	
	
    @ApiModelProperty(name = "orderId", value = "订单id", required = true, dataType = "Long")
    private Long orderId;

    @ApiModelProperty(name = "orderSn", value = "订单编号", required = true, dataType = "String")
    private String orderSn;


    @ApiModelProperty(name = "productIds", value = "商品ids", required = true, dataType = "Long")
    private Long[] productIds;
    
    @ApiModelProperty(name = "deptDpIds", value = "店铺部门ids", required = true, dataType = "Long")
    private Long[] deptDpIds;
    
    @ApiModelProperty("核销人员id")
    private Long hxmemberid;
    
    @ApiModelProperty(name = "productId", value = "商品id", required = true, dataType = "Long")
    private Long productId;

    @ApiModelProperty(name = "productName", value = "商品名称", required = true, dataType = "String")
    private String productName;

    @ApiModelProperty(name = "userPhone", value = "用户名称（手机号）", required = true, dataType = "String")
    private String userPhone;

    @ApiModelProperty(name = "payType", value = "支付方式 0->未支付；1->支付宝；2->微信", required = true, dataType = "Integer")
    private Integer payType;

    @ApiModelProperty(name = "status", value = "订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单", required = true, dataType = "String")
    private Integer status;

    @ApiModelProperty("供应商发货状态:1订单锁定，2备货中，3已发货 ,3已签收")
    private Integer sendGysStatus;
    
    @ApiModelProperty("省份/直辖市 精确匹配")
    private String receiverProvince;

    @ApiModelProperty("城市 精确匹配")
    private String receiverCity;

    @ApiModelProperty("区 精确匹配")
    private String receiverDistrict;

    @ApiModelProperty(name = "startTime", value = "开始时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    
	 /*   2025-02-08  */
    
    @ApiModelProperty("供应商id")
    @Excel(name = "供应商id")
    private Long brandId;
    
    @ApiModelProperty(name = "deptZbjId", value = "直播间部门", required = true, dataType = "Long")
    private Long deptZbjId;
    
	 @ApiModelProperty(name = "deptTzId", value = "团长部门id", required = true, dataType = "Long")
	 private Long deptTzId;
	 
	 @ApiModelProperty(name = "deptDpId", value = "店铺部门id", required = true, dataType = "Long")
	 private Long deptDpId;
	 
    @ApiModelProperty("锁单id")
    private Long lockId;
    
    @ApiModelProperty("备货id")
    private Long prepareId;
    
	 private String keyword;
	 
	 @ApiModelProperty("没有锁单")
	 private String lockIdNotIsNull;
	 
 
	 
	 @ApiModelProperty("已经锁单")
	 private String lockIdIsNull;

	 
	 @ApiModelProperty("是否待核销1")
	 private String sfdhx;
	 

    @ApiModelProperty(name = "startTime", value = "支付开始时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payStartTime;

    @ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payEndTime;
    
    
    @ApiModelProperty(name = "recStartTime", value = "核销开始时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime recStartTime;

    @ApiModelProperty(name = "recEndTime", value = "核销结束时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime recEndTime;
    
    
    
    @ApiModelProperty("订单流程：0 正常流程 1支付就待提货")
    @Excel(name = "订单流程：0正常流程  1支付就待提货")
    private Integer process;
    
    @ApiModelProperty(name = "retStartTime", value = "支付开始时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime retStartTime;

    @ApiModelProperty(name = "retEndTime", value = "结束时间", required = true, dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime retEndTime;
    
    @ApiModelProperty("退款状态，枚举值：1：无售后或售后关闭，2：售后处理中，3：退款中，4： 退款成功")
    private Integer aftersaleStatus;
    
    @ApiModelProperty("产品类型  1 正常商品 2 福利券商品 3 积分商品")
    private String cplx;
    
    @ApiModelProperty("兑换的福利券分类id")
    private Long dhCouponCategoryId;
    
    @ApiModelProperty(name = "note")
    private String note;

    @ApiModelProperty("商家备注")
    private String merchantNote;
    

    @ApiModelProperty("可退款时间")//在此时间之前可以退款，但受到锁定的限制
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime ktkTime;
    
    @ApiModelProperty("群主id")
    @Excel(name = "群主id")
    private Long spreaduid;
    
}

